This invention relates to a method and apparatus for distributing video program material.
The mechanisms that are currently used to distribute television program material to customers include cable, direct broadcast satellite, and IPTV (internet protocol television) over DSL (digital subscriber line).
Currently, cable system operators distribute television program material encoded by a coding algorithm that produces a bitstream conforming to the video coding standard known as MPEG 2. Some direct broadcast satellite (DBS) system operators distribute material encoded in MPEG 2 and some DBS system operators distribute material encoded by a coding algorithm that produces a bitstream conforming to the video coding standard known as MPEG 4. Telephone system operators (Telcos) that use DSL service to distribute television program material using IPTV encode the program material in MPEG 4. Cable system operators and DBS system operators typically encode with a variable bit rate (VBR) since the channel over which the bitstream is distributed has sufficient bandwidth to support the maximum bit rate of the bitstream, but Telcos encode with a constant bit rate (CBR) or capped variable bit rate due to the bandwidth constraints of DSL.
Referring to FIG. 1, a television program provider, such as HBO, may create a single program transport stream (SPTS) containing a television program service (corresponding to what is commonly referred to as a channel in the broadcast television domain) and transmit the SPTS by way of a satellite-borne transponder to the ground-based receivers of distribution system operators. The SPTS is transmitted to a DBS system operator, local headends (only one of which is shown in FIG. 1) of a cable system operator, and local headends (only one of which is shown in FIG. 1) of a telephone system operator. Each local headend of the cable system operator, such as Comcast, is connected to a local fixed line cable network. The cable system headend includes equipment that combines the program service contained in the SPTS with other program services, corresponding to other broadcast channels, to create a multi-program transport stream (MPTS) and transmits the MPTS to the cable system operator's customers over the cable network. Similarly, each local headend of the telephone system operator, such as Verizon, is connected to portions of the public fixed line telephone network and the telephone system headend equipment creates an MPTS containing multiple television program services and transmits the MPTS to customers over the telephone network. The DBS system operator, such as DirecTV, employs equipment that creates an MPTS and transmits the MPTS to a satellite-borne transponder that relays the material directly to the customer's antenna without use of a ground-based headend or a fixed line distribution network.
Because MPEG 4 provides substantially better compression of video material than MPEG 2, the television program provider employs MPEG 4 coding to deliver program material to the distribution system operators. Consequently, cable system operators and some DBS system operators must transcode from MPEG 4 to MPEG 2, with resultant signal degradation. The television program provider transmits a VBR (variable bit rate) MPEG 4 transport stream and so a telephone system operator providing IPTV service over DSL must decode the VBR MPEG 4 transport stream and re-encode as MPEG 4 CBR or capped VBR. Thus, of the four classes of distribution system operators, only the DBS system operators that utilize MPEG 4 are able to distribute the MPEG 4 material transmitted by the television program provider without decoding and then encoding in a manner called for by the particular operators' network infrastructure.
Another approach to distribution of television program material is illustrated schematically in FIG. 2. As shown in FIG. 2, several television program providers supply program material to a satellite aggregator, which combines the program services to form a transponder MPTS and transmits the transponder MPTS to the DBS system operator, the cable system headends and the Telco headends. A distribution system operator may receive multiple transponder MPTSs and combine the individual services based on its own requirements, for example regarding service packages, to create distribution MPTSs for transmission to customers. As with the television program provider described with reference to FIG. 1, the satellite aggregator employs MPEG 4 coding to deliver program material to the distribution system operators, and all the distribution system operators except the DBS operator that utilizes MPEG 4 must decode the MPEG 4 material and encode in a manner called for by the particular operator's network infrastructure.
FIG. 3 illustrates in simplified form a flow chart of the encoding process for encoding pictures to produce a bit stream conforming to MPEG 4. The operation of the process is well known to those skilled in the art and therefore will not be described in detail. Reference may, however, be made to Boice, U.S. Pat. No. 7,072,393 and to R. Shafer, T. Reagan and H. Schwartz, “The Emerging H.264/AVC Standard,” EBU TECHNICAL REVIEW, January 2003, the entire disclosure of each of which is hereby incorporated by reference herein for all purposes.
The MPEG 4 encoder treats each uncoded picture as comprising one luma sample array and two chroma (Cb and Cr) sample arrays. The front end 20 of the MPEG 4 encoder divides each picture into a set of luma macroblocks and two (Cb and Cr) sets of chroma macroblocks. For each macroblock, the encoder front end generates an array of numbers representing the luma, Cb or Cr sample values of pixels in the macroblock and transforms the array of chroma or luma sample values into a set of direct cosine transform (DCT) frequency coefficients. Thus, for each macroblock, the front end 20 outputs at the node 24 a DC value followed by a succession of vertical frequency coefficients representing the magnitude of vertical frequency information at predetermined spatial frequencies, and a succession of horizontal frequency coefficients representing the magnitude of horizontal frequency information at predetermined spatial frequencies. For the purpose of this description, the DC value is considered to be a frequency coefficient. As shown in FIG. 3, the front end 20 also outputs motion data (or predictive information) that is generated by a motion compensation function.
The frequency coefficients are quantized. The manner in which the MPEG 4 encoder quantizes the frequency coefficients depends on whether the bit stream is to be CBR or VBR, which, in turn, generally depends on the bandwidth of the channel over which the bit stream is to be communicated. The bit rate of the bit stream may be controlled by adjusting the step size with which the DCT coefficients are quantized. An encoder produces a bit stream having a constant bit rate by adjusting the step size based on a rate control algorithm such as that known as Test Model 5.
The quantized DCT coefficients and the motion data are entropy coded. In the case of the TV program provider shown in FIG. 1, the entropy coded bit stream is packetized to form a video packetized elementary stream (PES) and is combined with a corresponding audio PES to form the SPTS; in the case of the satellite aggregator shown in FIG. 2, the video PES and audio PES are combined with the video and audio PESs for other services to form the MPTS.
In the event that the channel has more than enough capacity to support a single service, multiple VBR services may be statistically multiplexed to optimize utilization of the capacity of the channel. Statistical multiplexing is commonly used to compose an MPTS having a maximum bit rate that is less than the sum of the peak bit rates of the individual program streams. Statistical multiplexing of multiple services is accomplished by calculating the complexity of each service (number of bits required for a current picture multiplied by the average quantization step for the picture) and allocating bit rate to each service depending on the relative complexity of the services respectively.